package com.atguigu.spzx.model.vo.common;

import lombok.Getter;

/**
 * 将状态码和它的描述信息 封装成枚举对象  枚举对象的名称定义为见名知意的变量
 * 将来创建Result对象时直接通过已经定义好的枚举对象初始化
 */
@Getter
public enum ResultCodeEnum {
    //创建枚举类实例
    SUCCESS(200 , "成功"),
    LOGIN_PARAMS_ERROR(202 , "参数校验失败"),
    LOGIN_USERNAME_ERROR(201 , "账号错误"),
    LOGIN_PASSWORD_ERROR(203 , "密码错误"),
    LOGIN_CODE_ERROR(204 , "验证码错误"),
    LOGIN_STATUS_ERROR(205 , "登录状态失效"),
    LOGIN_ACCESS_ERROR(208 , "需要登录"),
    LOGIN_EXPIRE_ERROR(208 , "登录过期"),

    UPLOAD_ERROR(301 , "文件上传错误"),
    FILE_DELETE_ERROR(302 , "文件删除错误"),

    HAS_CHILDREN_ERROR(401 , "存在子节点数据"),
    UNKNOW_ERROR(-1 , "服务器内部错误"),
    EXPORT_ERROR(501, "数据导出失败" ),
    IMPORT_ERROR(502, "数据导入失败" ),
    MOBILE_ERROR(601 , "手机号错误"),
    MOBILE_EXISTS_ERROR(602 , "手机号已被占用"),
    SEND_MSG_ERROR(603 , "短信发送失败"),
    SEND_MSG_LIMIT_ERROR(604 , "验证码发送过于频繁"),
    SEND_MSG_COUNT_ERROR(605 , "验证码发送异常"),
    PARAMS_ERROR(606 , "参数错误"),
    CODE_ERROR(607 , "验证码错误"),
    ORDER_CREATE_ERROR(701 , "订单创建失败")
    ;

    private Integer code;
    private String message;
    private ResultCodeEnum(Integer code,
                           String message){
        this.code = code;
        this.message = message;
    }
}
